/**
 * @author：xiehao
 * @date：2020年05月24日
 * @version V1.0
 */
package com.laxia.validator;

import org.apache.commons.lang3.StringUtils;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.regex.Pattern;

public class PatternValidator  implements ConstraintValidator<com.laxia.validator.PatternLegality, String> {
    
    private String regexp;
    
    @Override
    public void initialize( com.laxia.validator.PatternLegality patternLegality ) {
        regexp = patternLegality.regexp();
    }

    @Override
    public boolean isValid( String value, ConstraintValidatorContext context ) {
        if ( StringUtils.isBlank( value ) ) {
            return true;
        }
        Pattern pattern = Pattern.compile( regexp);
        return pattern.matcher( StringUtils.strip(value) ).matches();
    }
    
}
